#include <iostream>
#include <string.h>

using namespace std;

class arquivo{
public:
	char* nome_arquivo;
	char* vetor;

	arquivo(char *nomearquivo);
	int operator<< (char*);
};

//Sobrecarecamento do operador << no caso de chars
int arquivo::operator<< (char *vetor){
	FILE *fp;
	fp = fopen(nome_arquivo, "a+");
	if (fp == NULL){
		cout << "Falha na abertura do arquivo\n";
		exit(0);
	}
	fwrite(vetor, sizeof(char), strlen(vetor), fp);
	fclose(fp);
	
	cout << "Inserido com sucesso no arquivo\n";
	
	return 1;
}

//Construtor	
arquivo::arquivo(char *t){
	nome_arquivo = (char*)malloc(sizeof(char)*strlen(t));
	if (nome_arquivo == NULL){ 
		cout << "Nao foi possivel alocar memoria\n";
		exit(0);
	}
	strcpy(nome_arquivo, t);
}

int main(){
	char vetor[] = {40, 25, 12, 200, 100,101,102, '\0'};

	arquivo a("output.dat");
	a << vetor;
	
	return 1;
}
